签章 Java 项目设计
1 总体架构模块图
1.1 抽象架构模块图

2 业务流程
CA申请实名过程

合同签署过程

3 业务逻辑

根据 Model 划分业务
划分 Order, Contract, Ca, Transaction 和 Log 模块
Bussiness 作为业务模块, 业务逻辑 组合调用 Order, Contract, Ca, Transaction 和 Log 模块内容
技术选型
- 后端框架: Spring Boot
- 业务数据库: Mongo
- 缓存: Redis
- 持久层: MongoRepository
- 消息队列:RabbitMq
- 文档生成工具:Swagger2
- 日志组件:slf4j
- Java 实用工具: Lombok
- 测试框架:JUnit5, MockMvc
- 其他:
- 日志记录:Spring AOP
初步目录结构:
signature
├─
├── Ca
├── ├── Ca.java
├── ├── CaRepository.java
├── ├── CaService.java —- 单独注册 Ca 证书接口 1. 注册接口, 2. 个人实名接口, 3. 企业实名接口 4. 实名认证接口 5. 盖章上传接口
├── ├── CaServiceImp.java —- 单独注册 Ca 证书接口实现
├── Contract
├── ├── Contract.java
├── ├── ContractRepository.java
├── ├── ContractService.java —- 1. 合同模板上传接口 2. 合同模板 id 查询接口
├── ├── ContractServiceImp.java —- 1. 合同模板上传接口实现
├── Log
├── ├── Log.java
├── ├── LogInterceptor.java —- AOP插入Controller
├── ├── LogRepository.java
├── Order
├── ├── Order.java
├── ├── OrderRepository.java
├── ├── OrderService.java —- 订单记录接口 1. 创建接口 2. 订单完成接口 3. 订单失败接口 4.订单查询接口
├── ├── OrderServiceImp.java —- 订单记录接口实现
├── Transaction
├── ├── Transaction.java
├── ├── TransactionRepository.java
├── ├── TransactionService.java —- 合同单次签署接口 1. 发起签署接口 2. 接收回调处理接口
├── ├── TransactionServiceImp.java —- 合同单次签署接口实现
├── config
├── ├── MyWebAppConfigurer.java
├── Signature —- 具体业务层
├── ├── SignController.java —- 1. 个人注册暴露接口
2. 企业注册暴露接口
3. 合同模板建立接口
4. 获取合同模板id接口
5. 模板生产填充内容合同接口
6. 合同签署接口
7. 接收合同签署结果接口
├── Proxy —- 第三方请求通信层
├── ├── FDDProxyService.java —- 法大大通信层
├── ├── InfoProxyService.java —- 对外异步通知通信层
├── utils
├── ├── GetRequestJsonUtils.java
├── ├── MyHttpServletRequestWrapper.java
├── SignatureApplication.java